package org.jeecg.modules.iot.model.control;

import lombok.Data;

@Data
public class SpeedOtherConfig {
    private WorkMode workMode = WorkMode.HYBRID; // 工作模式 默认混合
    private StartMode startMode = StartMode.NON_ZERO_START; // 启动模式 默认非零启动
    private int assistLevel = 3; // 助力等级 等待 N 秒后再关闭转把功能。 
    private boolean motorLock = true; // 电机锁 默认上锁
    private boolean powerDisable = true; // 动力禁用 默认禁用
    private int speed = 25; // 国标速度 默认25km/h

    // 工作模式枚举
    public enum WorkMode {
        PURE_ELECTRIC(2), // 纯电动
        PURE_ASSIST(1), // 纯助力
        HYBRID(3); // 混合

        private final int value;

        WorkMode(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }

        public static WorkMode fromValue(int value) {
            for (WorkMode mode : values()) {
                if (mode.getValue() == value) {
                    return mode;
                }
            }
            return null; // 或抛出异常
        }
    }

    // 启动模式枚举
    public enum StartMode {
        ZERO_START(0), // 零启动
        NON_ZERO_START(1); // 非零启动

        private final int value;

        StartMode(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }

        public static StartMode fromValue(int value) {
            for (StartMode mode : values()) {
                if (mode.getValue() == value) {
                    return mode;
                }
            }
            return null; // 或抛出异常
        }
    }
}
